package main

import "fmt"
import "strconv"

/*
fmt.Println方法接受的参数为
type Stringer interface {
     String() string
}
这样一来，任何实现了String() string方法的类型都可以被打印
*/

type Human2 struct {
	name  string
	age   int
	phone string
}

//通过这个String()方法Human2实现了fmt.Stringer
func (h Human2) String() string {
	return "{" + h.name + " - " + strconv.Itoa(h.age) +
		" years - phone - " + h.phone + "}"
}

func main() {
	Bob := Human2{"Bob", 39, "000-7777-XXX"}
	//可以直接打印Human2类型的Bob
	fmt.Println("This Human is :", Bob)
}
